Techniques for gesture-based initiation of inter-device wireless connections

ABSTRACT

Techniques for gesture-based device connections are described. For example, a method may comprise receiving video data corresponding to motion of a first computing device, receiving sensor data corresponding to motion of the first computing device, comparing, by a processor, the video data and the sensor data to one or more gesture models, and initiating establishment of a wireless connection between the first computing device and a second computing device if the video data and sensor data correspond to gesture models for the same gesture. Other embodiments are described and claimed.

BACKGROUND

Establishing wireless connections between two or more computing devicesis becoming increasingly common as the mobility and functionality ofcomputing devices continues to evolve. Establishing these connectionsusing currently available techniques, however, can be cumbersome and mayrequire manipulation of each device, manipulation of differentinterfaces, and other interactions that may become increasinglydifficult as computing devices continue to decrease in size which mayresult in less space to display authentication and other information.For example, current solutions may involve manually entering access oridentification codes on each device that may difficult on smallerdevices such as smart phones.

In the mobile space, gesture interaction and gesture inputs are anattractive alternative to traditional interfaces because they do notinvolve the shrinking of the form factor of traditional input devicessuch as a keyboard, mouse or screen. While suitable for input to orcontrol of a single computing device, current implementations of gestureinteraction and gesture input fail to provide a simple and securesolution for establishing connections with other computing devices.Additionally, gesture interaction and gesture inputs alone may notprovide adequate options for security and/or customization of aconnection between two or more devices because control, input or otherinformation from only a single device may be required.

Video and other image capture devices are also becoming common incomputing devices. As these technologies continue to evolve, they havebecome increasing adept at recognizing and identifying objects, users,motion, etc. Their use in establishing connections with other devicesmay be limited using current solutions however because current systemmay be easily fooled by unauthorized users and, as with gesture input,information from only one device (e.g. the video or other image capturedevice) may be used. Therefore, techniques for establishing a connectionbetween two or more devices using different forms of input may bedesirable. For example, it may be desirable to combine the video and/orimage capture capabilities of one computing device with the gesturerecognition capabilities of another computing device leveraging sensorssuch as accelerometers and gyroscopes to enable a seamless, secure andsimple connection between the devices. It is with respect to these andother considerations that the embodiments described herein are needed.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an embodiment of a first system.

FIG. 2 illustrates an embodiment of a first operating environment

FIG. 3 illustrates an embodiment of a second operating environment.

FIG. 4 illustrates an embodiment of a third operating environment.

FIG. 5 illustrates an embodiment of a fourth operating environment.

FIG. 6 illustrates an embodiment of a logic flow.

FIG. 7 illustrates an embodiment of a computing architecture.

DETAILED DESCRIPTION

Various embodiments are generally directed to techniques for gesturebased device connections. Some embodiments are particularly directed todetecting a gesture using two or more different detection methods ortechnologies to enable a simple, seamless and secure connection betweentwo or more devices. The embodiments described herein combine the use ofphysical sensors (e.g. gyroscope, accelerometer, etc.) in one devicewith a video or other image capture device (e.g. video camera, etc.) inanother device to verify a gesture authentication attempt and to enablea connection between the devices. The gesture authentication techniquesdescribed herein operate to significantly increase the reliability andsimplicity of establishing secure wireless connections between devices,thereby enhancing device performance, user productivity, convenience,and experience.

With general reference to notations and nomenclature used herein, thedetailed description that follows may be presented in terms of programprocedures executed on a computer or network of computers. Theseprocedural descriptions and representations are used by those skilled inthe art to most effectively convey the substance of their work to othersskilled in the art.

A procedure is here and is generally conceived to be a self-consistentsequence of operations leading to a desired result. These operations arethose requiring physical manipulations of physical quantities. Usually,though not necessarily, these quantities take the form of electrical,magnetic or optical signals capable of being stored, transferred,combined, compared, and otherwise manipulated. It proves convenient attimes, principally for reasons of common usage, to refer to thesesignals as bits, values, elements, symbols, characters, terms, numbers,or the like. It should be noted, however, that all of these and similarterms are to be associated with the appropriate physical quantities andare merely convenient labels applied to those quantities.

Further, the manipulations performed are often referred to in terms,such as adding or comparing, which are commonly associated with mentaloperations performed by a human operator. No such capability of a humanoperator is necessary, or desirable in most cases, in any of theoperations described herein which form part of one or more embodiments.Rather, the operations are machine operations. Useful machines forperforming operations of various embodiments include general purposedigital computers or similar devices.

Various embodiments also relate to apparatus or systems for performingthese operations. This apparatus may be specially constructed for therequired purpose or it may comprise a general purpose computer asselectively activated or reconfigured by a computer program stored inthe computer. The procedures presented herein are not inherently relatedto a particular computer or other apparatus. Various general purposemachines may be used with programs written in accordance with theteachings herein, or it may prove convenient to construct morespecialized apparatus to perform the required method steps. The requiredstructure for a variety of these machines will appear from thedescription given.

Reference is now made to the drawings, wherein like reference numeralsare used to refer to like elements throughout. In the followingdescription, for purposes of explanation, numerous specific details areset forth in order to provide a thorough understanding thereof. It maybe evident, however, that the novel embodiments can be practiced withoutthese specific details. In other instances, well known structures anddevices are shown in block diagram form in order to facilitate adescription thereof. The intention is to cover all modifications,equivalents, and alternatives consistent with the claimed subjectmatter.

FIG. 1 illustrates a block diagram for a system 100. In one embodiment,the system 100 may comprise a computer-based system comprising one ormore electronic devices or, as referred to hereinafter, computingdevices such as computing device 120 and computing device 220. Eachcomputing device 120, 220 may comprise, for example, a processor 130, amemory unit 150, input/output devices 160-c, displays 170-d, and one ormore transceivers 180-e. In some embodiments, the computing device 120may include one or more sensors 146-f. In some embodiments, the sensors146-f may include one or more accelerometers 146-1 and/or gyroscopes146-2. The computing device 220 may include one or more camera devices240-g in various embodiments. The one or more camera devices 240-g maycomprise any suitable image capture device including but not limited toa video camera, still camera or an infrared camera. The embodiments arenot limited in this respect.

Each computing device 120, 220 may further have installed or comprise agesture recognition application 140. The memory unit 150 may store anunexecuted version of the gesture recognition application 140 and one ormore gesture recognition algorithms 142 and gesture models 144. Whilethe gesture recognition algorithms 142 and gesture models 144 are shownas separate components or modules in FIG. 1, it should be understoodthat one or more of gesture recognition algorithms 142 and gesturemodels 144 could be part of gesture recognition algorithm 140 and stillfall within the described embodiments. Also, although the system 100shown in FIG. 1 has a limited number of elements in a certain topology,it may be appreciated that the system 100 may include more or lesselements in alternate topologies as desired for a given implementation.

It is worthy to note that “a” and “b” and “c” and similar designators asused herein are intended to be variables representing any positiveinteger. Thus, for example, if an implementation sets a value for e=5,then a complete set of wireless transceivers 180 may include wirelesstransceivers 180-1, 180-2, 180-3, 180-4 and 180-5. The embodiments arenot limited in this context.

In various embodiments, the system 100 may comprise computing devices120 and 220. Some examples of an computing devices may include withoutlimitation an ultra-mobile device, a mobile device, a personal digitalassistant (PDA), a mobile computing device, a smart phone, a telephone,a digital telephone, a cellular telephone, eBook readers, a handset, aone-way pager, a two-way pager, a messaging device, a computer, apersonal computer (PC), a desktop computer, a laptop computer, anotebook computer, a netbook computer, a handheld computer, a tabletcomputer, a server, a server array or server farm, a web server, anetwork server, an Internet server, a work station, a mini-computer, amain frame computer, a supercomputer, a network appliance, a webappliance, a distributed computing system, multiprocessor systems,processor-based systems, consumer electronics, programmable consumerelectronics, game devices, television, digital television, set top box,wireless access point, machine, or combination thereof. The embodimentsare not limited in this context.

In various embodiments, computing devices 120, 220 of the system 100 maycomprise a processor 130. The processor 130 can be any of variouscommercially available processors, including without limitation an AMD®Athlon®, Duron® and Opteron® processors; ARM® application, embedded andsecure processors; IBM® and Motorola® DragonBall® and PowerPC®processors; IBM and Sony® Cell processors; Intel® Celeron®, Core (2)Duo®, Core (2) Quad®, Core i3®, Core i5C), Core i7®, Atom®, Itanium®,Pentium®, Xeon®, and XScale® processors; and similar processors. Dualmicroprocessors, multi-core processors, and other multi-processorarchitectures may also be employed as the processing 130.

In various embodiments, computing devices 120, 220 of the system 100 maycomprise a memory unit 150. The memory unit 150 may store, among othertypes of information, the gesture recognition application 140, gesturerecognition algorithms 142 and gesture models 144. The memory unit 150may include various types of computer-readable storage media in the formof one or more higher speed memory units, such as read-only memory(ROM), random-access memory (RAM), dynamic RAM (DRAM), Double-Data-RateDRAM (DDRAM), synchronous DRAM (SDRAM), static RAM (SRAM), programmableROM (PROM), erasable programmable ROM (EPROM), electrically erasableprogrammable ROM (EEPROM), flash memory, polymer memory such asferroelectric polymer memory, ovonic memory, phase change orferroelectric memory, silicon-oxide-nitride-oxide-silicon (SONOS)memory, magnetic or optical cards, an array of devices such as RedundantArray of Independent Disks (RAID) drives, solid state memory devices(e.g., USB memory, solid state drives (SSD) and any other type ofstorage media suitable for storing information.

In various embodiments, the computing devices 120, 220 may comprise oneor more input/output devices 160-c. The one or more input/output devices160-c may be arranged to provide functionality to the computing devices120, 220 including but not limited to capturing images, exchanginginformation, capturing or reproducing multimedia information,determining a location of the computing devices 120, 220 or any othersuitable functionality. Non-limiting examples of input/output devices160-c include a QR reader/writer, bar code reader, a global positioningsystem (GPS) module, and a display 170-d coupled with an electronicdevice 120. The embodiments are not limited in this respect.

The computing devices 120, 220 may comprise one or more displays 170-din some embodiments. The displays 170-d may comprise any digital displaydevice suitable for the electronic devices 120. For instance, thedisplays 170-d may be implemented by a liquid crystal display (LCD) suchas a touch-sensitive, color, thin-film transistor (TFT) LCD, a plasmadisplay, a light emitting diode (LED) display, an organic light emittingdiode (OLED) display, a cathode ray tube (CRT) display, or other type ofsuitable visual interface for displaying content to a user of computingdevices 120, 220. The displays 170-d may further include some form of abacklight or brightness emitter as desired for a given implementation.

In various embodiments, the displays 170-d may comprise touch-sensitiveor touchscreen displays. A touchscreen may comprise an electronic visualdisplay that is operative to detect the presence and location of a touchwithin the display area or touch interface. In some embodiments, thedisplay may be sensitive or responsive to touching of the display of thedevice with a finger or hand. In other embodiments, the display may beoperative to sense other passive objects, such as a stylus or electronicpen. In various embodiments, displays 170-d may enable a user tointeract directly with what is displayed, rather than indirectly with apointer controlled by a mouse or touchpad. Other embodiments aredescribed and claimed.

The computing devices 120, 220 may comprise one or more wirelesstransceivers 180-e. Each of the wireless transceivers 180-e may beimplemented as physical wireless adapters or virtual wireless adapterssometimes referred to as “hardware radios” and “software radios.” In thelatter case, a single physical wireless adapter may be virtualized usingsoftware into multiple virtual wireless adapters. A physical wirelessadapter typically connects to a hardware-based wireless access point. Avirtual wireless adapter typically connects to a software-based wirelessaccess point, sometimes referred to as a “SoftAP.” For instance, avirtual wireless adapter may allow ad hoc communications between peerdevices, such as a smart phone and a desktop computer or notebookcomputer. Various embodiments may use a single physical wireless adapterimplemented as multiple virtual wireless adapters, multiple physicalwireless adapters, multiple physical wireless adapters each implementedas multiple virtual wireless adapters, or some combination thereof. Theembodiments are not limited in this case.

The wireless transceivers 180-e may comprise or implement variouscommunication techniques to allow the computing devices 120, 220 tocommunicate with other electronic or computing devices. For instance,the wireless transceivers 180-e may implement various types of standardcommunication elements designed to be interoperable with a network, suchas one or more communications interfaces, network interfaces, networkinterface cards (NIC), radios, wireless transmitters/receivers(transceivers), wired and/or wireless communication media, physicalconnectors, and so forth. By way of example, and not limitation,communication media includes wired communications media and wirelesscommunications media. Examples of wired communications media may includea wire, cable, metal leads, printed circuit boards (PCB), backplanes,switch fabrics, semiconductor material, twisted-pair wire, co-axialcable, fiber optics, a propagated signal, and so forth. Examples ofwireless communications media may include acoustic, radio-frequency (RF)spectrum, infrared and other wireless media.

In various embodiments, the computing devices 120, 220 may implementdifferent types of wireless transceivers 180-e. Each of the wirelesstransceivers 180-e may implement or utilize a same or different set ofcommunication parameters to communicate information between variouselectronic devices. In one embodiment, for example, each of the wirelesstransceivers 180-e may implement or utilize a different set ofcommunication parameters to communicate information between computingdevices 120 and 220 or between computing devices 120, 220 and a remotedevice. Some examples of communication parameters may include withoutlimitation a communication protocol, a communication standard, aradio-frequency (RF) band, a radio, a transmitter/receiver(transceiver), a radio processor, a baseband processor, a networkscanning threshold parameter, a radio-frequency channel parameter, anaccess point parameter, a rate selection parameter, a frame sizeparameter, an aggregation size parameter, a packet retry limitparameter, a protocol parameter, a radio parameter, modulation andcoding scheme (MCS), acknowledgement parameter, media access control(MAC) layer parameter, physical (PHY) layer parameter, and any othercommunication parameters affecting operations for the wirelesstransceivers 180-e. The embodiments are not limited in this context.

In various embodiments, the wireless transceivers 180-e may implementdifferent communication parameters offering varying bandwidths,communications speeds, or transmission range. For instance, a firstwireless transceiver 180-1 may comprise a short-range interfaceimplementing suitable communication parameters for shorter rangecommunications of information, while a second wireless transceiver 180-2may comprise a long-range interface implementing suitable communicationparameters for longer range communications of information.

In various embodiments, the terms “short-range” and “long-range” may berelative terms referring to associated communications ranges (ordistances) for associated wireless transceivers 180-e as compared toeach other rather than an objective standard. In one embodiment, forexample, the term “short-range” may refer to a communications range ordistance for the first wireless transceiver 180-1 that is shorter than acommunications range or distance for another wireless transceiver 180-eimplemented for the electronic device 120, such as a second wirelesstransceiver 180-2. Similarly, the term “long-range” may refer to acommunications range or distance for the second wireless transceiver180-2 that is longer than a communications range or distance for anotherwireless transceiver 180-e implemented for the electronic device 120,such as the first wireless transceiver 180-1. The embodiments are notlimited in this context.

In various embodiments, the terms “short-range” and “long-range” may berelative terms referring to associated communications ranges (ordistances) for associated wireless transceivers 180-e as compared to anobjective measure, such as provided by a communications standard,protocol or interface. In one embodiment, for example, the term“short-range” may refer to a communications range or distance for thefirst wireless transceiver 180-1 that is shorter than 300 meters or someother defined distance. Similarly, the term “long-range” may refer to acommunications range or distance for the second wireless transceiver180-2 that is longer than 300 meters or some other defined distance. Theembodiments are not limited in this context.

In one embodiment, for example, the wireless transceiver 180-1 maycomprise a radio designed to communicate information over a wirelesspersonal area network (WPAN) or a wireless local area network (WLAN).The wireless transceiver 180-1 may be arranged to provide datacommunications functionality in accordance with different types of lowerrange wireless network systems or protocols. Examples of suitable WPANsystems offering lower range data communication services may include aBluetooth system as defined by the Bluetooth Special Interest Group, aninfra-red (IR) system, an Institute of Electrical and ElectronicsEngineers (IEEE) 802.15 system, a DASH7 system, wireless universalserial bus (USB), wireless high-definition (HD), an ultra-side band(UWB) system, and similar systems. Examples of suitable WLAN systemsoffering lower range data communications services may include the IEEE802.xx series of protocols, such as the IEEE 802.11a/b/g/n series ofstandard protocols and variants (also referred to as “WiFi”). It may beappreciated that other wireless techniques may be implemented, and theembodiments are not limited in this context.

In one embodiment, for example, the wireless transceiver 180-2 maycomprise a radio designed to communicate information over a wirelesslocal area network (WLAN), a wireless metropolitan area network (WMAN),a wireless wide area network (WWAN), or a cellular radiotelephonesystem. The wireless transceiver 180-2 may be arranged to provide datacommunications functionality in accordance with different types oflonger range wireless network systems or protocols. Examples of suitablewireless network systems offering longer range data communicationservices may include the IEEE 802.xx series of protocols, such as theIEEE 802.11a/b/g/n series of standard protocols and variants, the IEEE802.16 series of standard protocols and variants, the IEEE 802.20 seriesof standard protocols and variants (also referred to as “MobileBroadband Wireless Access”), and so forth. Alternatively, the wirelesstransceiver 180-2 may comprise a radio designed to communicationinformation across data networking links provided by one or morecellular radiotelephone systems. Examples of cellular radiotelephonesystems offering data communications services may include GSM withGeneral Packet Radio Service (GPRS) systems (GSM/GPRS), CDMA/1xRTTsystems, Enhanced Data Rates for Global Evolution (EDGE) systems,Evolution Data Only or Evolution Data Optimized (EV-DO) systems,Evolution For Data and Voice (EV-DV) systems, High Speed Downlink PacketAccess (HSDPA) systems, High Speed Uplink Packet Access (HSUPA), andsimilar systems. It may be appreciated that other wireless techniquesmay be implemented, and the embodiments are not limited in this context.

In various embodiments, computing devices 120 may include one moresensors 146-f. Sensors 146-f may comprise any combination of inertialsensors capable of determining or detecting an orientation and/ormovement of computing device 120. For example, in some embodiments thesensors 146-f may comprise one or more accelerometers 146-1 and/or oneor more gyroscopes 146-2. Any suitable type of accelerometer 146-1and/or gyroscope 146-2 could be used and still fall within the describedembodiments as one skilled in the art would readily understand. In someembodiments, the accelerometer 146-1 and/or gyroscope 146-2 may compriseor be implemented using microelectromechanical systems (MEMS)technology. The embodiments are not limited in this respect.

Computing device 220 may include one or more camera devices 240-g insome embodiments. The camera devices 240-g may comprise any suitableimage capture device including but not limited to a video camera, stillcamera, infrared camera or any combination thereof. In variousembodiments, the 240-g may be integrated as part of computing device 220as shown in FIG. 1. In other embodiments, camera device 240-g maycomprise a peripheral device communicatively coupled to computing device220. Furthermore, while shown in FIG. 1 as having different componentsand/or features, it should be understood that computing devices 120, 220could comprise the same components and/or features and still fall withinthe described embodiments. The embodiments are not limited in thisrespect.

Although not shown in FIG. 1, the computing devices 120, 220 may furthercomprise one or more device resources commonly implemented for computingdevices, such as various computing and communications platform hardwareand software components typically implemented by a personal electronicdevice or computing device. Some examples of device resources mayinclude without limitation a co-processor, a graphics processing unit(GPU), a chipset/platform control hub (PCH), an input/output (I/O)device, computer-readable media, display electronics, display backlight,network interfaces, location devices (e.g., a GPS receiver), sensors(e.g., biometric, thermal, environmental, proximity, accelerometers,barometric, pressure, etc.), portable power supplies (e.g., a battery),application programs, system programs, and so forth. Other examples ofdevice resources are described with reference to exemplary computingarchitectures shown by FIG. 7. The embodiments, however, are not limitedto these examples.

In the illustrated embodiment shown in FIG. 1, the processor 130 may becommunicatively coupled to the wireless transceivers 180-e and thememory unit 150. The memory unit 150 may store a gesture recognitionapplication 140 arranged for execution by the processor 130 to recognizegesture inputs. The gesture recognition application 140 may generallyprovide features to combine the flexibility of statistical methods tobuild rich gesture vocabularies with deterministic methods to constrainthe recognition to only those movements that satisfy certain physicalcharacteristics. Additionally, the gesture recognition application 140may be operative in some embodiments to identify and evaluate gestureson one or more of computing devices 120, 220 based on different types ofraw data, such as data from the sensors 146-f and/or data from thecamera device 240-g. In this manner, gesture recognition application 140may be operative to assist in the process of establishing a securewireless connection between computing device 120 and computing device220 based on a same gesture input detected using different detectionmethods or technology on the respective devices 120, 220. Otherembodiments are described and claimed.

FIGS. 2-5 illustrate embodiments of operating environments 200-500respectively. More particularly, the operating environments 200-500 mayillustrate a gesture being performed by a user of computing device 120in proximity to computing device 220. More particularly, the gesture maybe performed within a field of view of a camera device of the computingdevice 220. In various embodiments the computing devices 120, 220 shownin FIGS. 2-5 may be the same or similar to computing devices 120, 220 ofFIG. 1. Additionally, while the computing device 220 (including cameradevice 240-g) may be shown as a separate device from display 222 inFIGS. 2-5, it should be understood that computing device 220 and/orcamera device 240-g may be incorporated in display 222 and still fallwithin the described embodiments. Moreover, it should be understood thatFIGS. 2-5 show computing device 120 as a smartphone and computing device220 as a set-top box coupled to a display 222 (e.g. a digitaltelevision) for purposes of illustration and not limitation. As such,computing devices 120, 220 could take any suitable form or comprise anysuitable computing device as described elsewhere herein and still fallwithin the described embodiments. The embodiments are not limited inthis respect.

FIG. 2 illustrates an embodiment of an operating environment 200 for thecomputing devices 120, 220. More particularly, the operating environment200 (and similarly the operating environments 300, 400 and 500)illustrates an embodiment where a secure wireless connection betweencomputing device 120 and computing device 220 may be desired. Forexample, a user may wish to control computing device 220 using computingdevice 120, a user may wish to transfer data between computing devices120 and 220, or perform any number or type of other computing actions aswill be understood by one skilled in the art.

To establish a simple and secure connection, it may be advantageous insome embodiments for a user to simply perform a gesture motion in theair with computing device 120 and to verify the gesture motion and/orauthenticate the user using information detected by both computingdevice 120 and computing device 220 as shown in FIG. 2. In this manner,the setup procedure to establish the secure connection may be greatlysimplified, thereby improving the user experience.

In various embodiments, the operating environment 200 may illustrate agesture motion 210 made by user 202 with computing device 120. As shownin FIG. 2, computing device 120 may be moved in the air by user 202 in astar-shaped pattern as illustrated by gesture 210. For example, user 202may hold computing device 120 in their hand and draw the star-shapedgesture 210 in the air with the device 120. While the gesture motion 210is shown as a star-shaped pattern in FIG. 2, it should be understoodthat any suitable gesture motion could be used and still fall within thedescribed embodiments.

In various embodiments, sensors 146-f of computing device 120 may detectthe gesture motion 210. Additionally, gesture motion 210 may also bedetected by camera device 240-g of computing device 220. In variousembodiments, the detected gesture motion 210 may be analyzed and actedupon by gesture recognition application 140 of computing device 120,computing device 220 or a remote computing device (not shown) asdescribed in more detail with reference to FIGS. 3-5. Other embodimentsare described and claimed.

In some embodiments, each computing device 120, 220 may implement aseparate/different gesture recognition algorithm 140. For example, thegesture recognition algorithm 140 of computing device 120 may be suitedor optimized for analyzing gesture data from the sensors 146-f whilegesture recognition algorithm 140 of computing device 220 may be suitedor optimized for analyzing gesture data from the camera device 240-g. Inthis manner, each device 120, 220 may be optimized to analyze the datacollected by that device 120, 220. The embodiments are not limited inthis respect.

To enable gesture based authentication and device pairing, known gesturesignatures may be required in some embodiments. For example, gesturerecognition application 140 may include a training phase or trainingmode that may be operative to establish a database of trained gesturesor gesture models 144 to analyze any number of gesture motionsassociated with any number of users. The training phase may be initiatedby a user using either of computing devices 120 or 220 or the trainingphase may be automatically initiated when a computing device 120 isdetected in proximity to computing device 220. In some embodiments, thetraining phase may be initiated for the computing devices 120, 220,video data and sensor data corresponding to motion of the computingdevice 120 may be received based on a gesture motion selected by a userto comprise a gesture signature, and the video data and sensor data maybe stored as a gesture model 144.

In the training phase, the gesture models 144 may be developed based oninertial sensor 146-f and video device 240-g training data and/oroffline training where gesture motions are performed (possiblyrepeatedly) using computing device 120 in the field of view 205 ofcomputing device 220 and the motions are tracked and recorded. In someembodiments, this may occur during a training phase where a user canselect or is prompted to perform one or more gesture motions and thegesture motions are associated with one or more users, activities ortasks. In other embodiments, the gesture models 144 may be pre-definedand/or pre-loaded onto computing device 120 and/or computing device 220.Other embodiments are described and claimed.

In various embodiments, separate gesture signatures or gesture models144 may be developed and stored for the different devices 120, 220 basedon the different gesture data collected by those devices 120, 220. Forexample, computing device 120 may collect gesture data associated withsensors 146-f that is used to create inertial sensor based gesturesignatures/models 144. Similarly, computing device 220 may collectgesture data associated with camera device 240-g that is used to createvision based gesture signatures/models 144. In this manner, each device120, 220 may include or comprise its own set of gesturesignatures/models corresponding to the type of data collected by thatdevice 120, 220. In some embodiments, separate gesture signatures/models144 may be generated and/or stored for each of a plurality of gesturealgorithms 142. While each computing device 120, 220 may includedifferent gesture recognition algorithms 142 and different gesturesignatures or models 144, it should be understood that these differentmodels are used separately on each computing device 120, 220 to identifya same gesture made using the computing device 120 and detected usingdifferent detection means (e.g. sensors 146-f and camera device 240-grespectively) of both computing devices 120 and 220. Other embodimentsare described and claimed.

In addition to storing gesture models 144, start and end poses may alsobe stored in some embodiments. For example, as part of the trainingphase, start poses and end poses associated with gesture motions may beidentified based on accelerometer readings that are stationary beforeand after a pose. The computing devices 120, 220 may be operative toestablish the start/end poses using, for example, three accelerometeraxes Ax, Ay, Az measurements using bounding boxes or a Gaussian modelusing average Ax, Ay, Az values (+/−3 standard deviation) to identifythe start and end pose for each gesture. The start and end poses may beused for pose filtering in some embodiments.

Based on the gesture models 144, computing devices 120, 220 may beoperative to enable robust gesture recognition and/or devicepairing/authentication in some embodiments. As opposed to simply relyingon gesture recognition algorithms and statistical analysis to identifygesture motions at a single device as has been done in the past, theembodiments described herein additionally employ data from a seconddevice configured to additionally record data about the gesture motionusing a different type of sensor or capture device to increase theaccuracy of or otherwise enhance the gesture recognition process.

Once the gesture models 144 are established, a user 202 may connect thedevices 120, 220 using the gesture motion 210 moving forward. However,for the authentication/connection process to be effective, it must beenabled at appropriate times. For example, in some embodiments, one ormore of the computing device 120, 220 may continually monitor for andbuffer data associated with gesture motions. In other embodiments, thegesture recognition application 140 may be initiated based on a detectedthreshold proximity of the computing devices 120, 220. In still otherembodiments, the gesture recognition application 140 may be manuallylaunched by a user 202. In each of these situations, the first andsecond computing devices 120, 220 must be coupled to a same wirelesslocal area network (WLAN) to enable gesture recognition as describedherein. For example, computing devices 120, 220 may be connected to asame WiFi network. Other embodiments are described and claimed. Theembodiments are not limited in this respect.

In various embodiments, the gesture motion 210 must be performed by user202 while in the field of view 205 of camera device 240-g. The field ofview 205 may comprise the extent of the observable world that is seen atany given moment from the perspective of camera device 240-g. While inthe field of view, the gesture motion 210 may trigger inertial or othersensors 146-f of computing device 120 and camera device 240-g ofcomputing device 220 to record or capture the gesture motion 210. Invarious embodiments, the gesture motion 210 may be defined by a specificmovement that is preceded and followed by no movement or very littlemovement as described above. For example, readings from the sensors146-f just before and just after a gesture is performed may represent nosignificant device movement and an analysis of the video data fromcamera device 240-g may reveal no significant movement of computingdevice 120 before and/or after the gesture motion 210.

In various embodiments, once the gesture recognition phase is initiated,gesture recognition application 140 may be operative on processor 130 toreceive video data corresponding to motion of a first computing device120 and to receive sensor data corresponding to motion of the firstcomputing device 120. For example, the video data may be captured by oneor more camera devices 140-g of the second computing device 220 and thesensor data may be captured by one or more sensors 146-f of the firstcomputing device 120. In some embodiments, responsive to a user 202performing a gesture motion 210 with computing device 120, one or moreof accelerometer(s) 146-1 and/or gyroscope(s) 146-2 may be operative tosense the movement and raw data from the accelerometer(s) 146-1 and/orgyroscope(s) 146-2 may be provided to gesture recognition application140 for interpretation and analysis. Similarly, video data captured bycamera device 240-g may sense the movement and raw data from the videodata may be provided to gesture recognition application 140 forinterpretation and analysis.

In some embodiments, the interpretation and analysis may comprisecomparing the video data and the sensor data to one or more gesturemodels 144. For example, based on the detected movement or gesturemotion 210, gesture recognition application 140 may be operative onprocessor 130 to determine if the motion comprises a gesture motionusing one or more gesture recognition algorithms 142. For example,gesture recognition using statistical analysis may be performed on thegesture motion 210 based on the video data and the sensor data todetermine if the detected gesture motion 210 comprises a gesturemovement corresponding to one or more of gesture models 144. In variousembodiments, the gesture recognition application 140 may be operative onthe processor 130 to compare the gesture motion 210 to a gesture motiondatabase (e.g. gesture models 144) comprising a plurality of trainedgesture motions corresponding to gesture models established during atraining phase as described above. In some embodiments, the one or moregesture recognition algorithms may be based on one or more of a HiddenMarkov Model (HMM), Bayesian network or neural network.

In various embodiments, one or more time stamps of the video data andthe sensor data may be compared to determine if the motion captured bythe one or more camera devices 240-g and the motion captured by the oneor more sensors 146-f occurred at substantially a same time. This mayadd an additional layer of security to ensure that the motion capturedby sensors 146-f and the motion captured by camera device 240-gcorrespond to a same gesture. In other embodiments, deviceidentification information for the first and/or second computing device120, 220 may be compared to known device identification information todetermine if the computing devices 120, 220 are trusted/known devices aspart of the gesture authentication process. Other embodiments aredescribed and claimed.

Based on the comparing, a secure wireless connection or wireless linkmay be established between the first computing device 120 and a secondcomputing device 220 if both the video data and sensor data correspondto a gesture model. For example, the secure wireless connection maycomprise a Bluetooth® connection, a WiFi connection, a radio frequency(RF) connection or any other suitable connection. In variousembodiments, the connection may enable the computing device 120 tocontrol the computing device 220 or it may allow for the exchange ofinformation between the computing devices 120, 220. The embodiments arenot limited in this respect.

In some embodiments, the receiving and comparing may be performed at oneof the first computing device 120, the second computing device 220 or athird computing device (not shown) wireless accessible by both the firstand second computing devices 120, 220 as described in more detail belowwith references to FIGS. 3-5.

FIG. 3 illustrates an embodiment of an operating environment 300 for thecomputing devices 120, 220. More particularly, the operating environment300 may illustrate a gesture motion 210 made using computing device 120while connected to a same wireless network and while in a field of view205 of computing device 220. In the embodiment shown in FIG. 3, thegesture recognition processing and analysis may be performed atcomputing device 220.

While not limited in this respect, computing device 220 may comprise adigital television or a combination set-top box and digital televisionin various embodiments. In some embodiments, computing device 220 maycomprise an apparatus comprising a processor 130 and gesture connectionlogic (e.g. gesture recognition algorithm 140, etc.) for execution onthe processor 130. The gesture connection logic may be operative toreceive video data corresponding to motion of a mobile computing device120 captured by one or more camera devices 240-g coupled to thecomputing device 220 in some embodiments. For example, while in thegesture recognition mode, camera device 240-g may capture or recordgesture motion 210 performed using mobile computing device 120 which maycomprise a smartphone or tablet computing device in some embodiments.

In various embodiments, the logic may also be operative to receivesensor data corresponding to motion of the mobile computing device 120captured by one or more sensors 146-f of the mobile computing device120. For example, the sensor data may be analyzed by mobile computingdevice 120 and provided to computing device 220 or the raw sensor datamay be provided to computing device 220 as illustrated by arrow 215.

The logic of computing device 220 may be operative to compare the videodata and the sensor data to one or more gesture models 144 and toestablish a secure wireless connection between the computing device 220and the computing device 120 if the video data and sensor datacorrespond to a gesture model. For example, the computing device 220 mayprovide connection information to computing device 120 as indicated byarrow 225. This connection information may enable computing device 120to establish a connection with computing device 220 as recited abovewith respect to FIGS. 1 and 2.

FIG. 4 illustrates an embodiment of an operating environment 400 for thecomputing devices 120, 220. More particularly, the operating environment400 may illustrate a gesture motion 211 made using computing device 120while connected to a same wireless network and while in a field of view205 of computing device 220. In the embodiment shown in FIG. 4, thegesture recognition processing and analysis may be performed atcomputing device 120.

While not limited in this respect, computing device 120 may comprise asmartphone or a tablet computing device in various embodiments. In someembodiments, computing device 120 may comprise an apparatus comprising aprocessor 130 and gesture connection logic (e.g. gesture recognitionalgorithm 140, etc.) for execution on the processor 130. The gestureconnection logic may be operative to receive video data corresponding tomotion of the computing device 120 captured by one or more cameradevices 240-g of computing device 220 as shown by arrow 215. Computingdevice 120 may also be operative to receive sensor data corresponding tomotion of the computing device 120 from one or more sensors 146-f of thecomputing device 120.

The logic of computing device 120 may be operative to compare the videodata and the sensor data to one or more gesture models 144 and toestablish a secure wireless connection between the computing device 120and the computing device 220 if the video data and sensor datacorrespond to a gesture model. For example, the computing device 120 mayprovide connection information to computing device 220 as indicated byarrow 225. This connection information may enable computing device 220to establish a connection with computing device 120 as recited abovewith respect to FIGS. 1 and 2.

FIG. 5 illustrates an embodiment of an operating environment 500 for thecomputing devices 120, 220. More particularly, the operating environment500 may illustrate a gesture motion 212 made using computing device 120while connected to a same wireless network and while in a field of view205 of computing device 220. In the embodiment shown in FIG. 5, thegesture recognition processing and analysis may be performed at networkcomputing device 260 wirelessly accessible by one or more of computingdevice 120 and computing device 220.

In various embodiments, network computing device 260 may comprise acomputing device that is the same or similar to computing devices 120and 220. In some embodiments, network computing device 260 may beconsidered a cloud computing device, for example. While not shown inFIG. 5, networking computing device may comprise elements similar tothose recited above with respect to computing devices 120 and 220,including but not limited to the gesture recognition logic to enablegesture device authentication between two or more computing devices. Theembodiments are not limited in this respect.

Computing devices 120, 220 may be operative to provide sensor and videoinformation 215 to network computing device 260 in some embodiments. Invarious embodiments, network computing device 260 may be operative tocompare the sensor and video data to one or more gesture models 144stored on network computing device 260 and determine if a connectionshould be made between computing device 120 and 220 based on thecomparison. If so, network computing device 260 may provide connectioninformation 225 to each of computing devices 120, 220 to enable theconnection. Other embodiments are described and claimed.

Offloading the gesture analysis to network computing device 260 mayconserve power for computing devices 120, 220 and may also offloadprocessing burden to improve the user experience for these devices.Additionally, utilizing network computing device 260 for gestureanalysis may be advantageous as computing devices 120, 220 may alreadyenjoy wireless connections with network computing device 260, therebysimplifying the exchange of sensor and video data. In variousembodiments, the network computing device 260 may comprise a router, hubor server device for a home WiFi network, for example.

In some embodiments where the network computing device 260 is not used,computing devices 120, 220 may be forced to rely on broadcast ortemporary wireless connections to exchange the sensor and video databefore an authenticated connection can be established. For example, thecomputing device 120, 220 may first need to establish a connection (e.g.a non-secure and/or temporary connection) in order to exchange data andinitiate the gesture recognition and authentication process. In variousembodiments, this process may by a user or from the computing devices120 and/or 220 implicitly, e.g. by recognizing someone in the field ofview. In some embodiments, a wireless communication channel may beestablished to enable an anonymous, non-secure transition (send/receive)of data between the computing devices 120, 220, with explicit userinitiation or implicit detection of the starting of a gesture. Theembodiments are not limited in this respect.

FIG. 6 illustrates one embodiment of a logic flow 600. The logic flow600 may be representative of some or all of the operations executed byone or more embodiments described herein. For example, the logic flow600 may illustrate operations performed by the computing devices 120,220.

In the illustrated embodiment shown in FIG. 6, the logic flow 600 mayinclude receiving video data corresponding to motion of a firstcomputing device at 602. For example, computing device 220 may receivethe video data from camera devices 240-g coupled to computing device 220or computing device 120 may receive the video data from computing device220, depending upon which computing device 120, 220 is performing thegesture analysis/processing. At 604, the logic flow may includereceiving sensor data corresponding to motion of the first computingdevice. For example, computing device 120 may receive the sensor datafrom sensors 146-f or computing device 220 may receive the sensor datafrom computing device 120, depending upon which computing device 120,220 is performing the gesture analysis/processing.

The logic flow may include comparing, by a processor, the video data andthe sensor data to one or more gesture models at 606. For example,whichever device 120, 220 has access to both the video data and thesensor data may confirm that the video data and the sensor datacorrespond to one another and may also confirm that the video data andthe sensor data correspond to a gesture model. At 608, the logic flowmay include establishing a secure wireless connection between the firstcomputing device and a second computing device if the video data andsensor data correspond to a gesture model. For example, if the computingdevice performing the gesture analysis determines that the sensor datacaptured by computing device 120 and the video data captured bycomputing device 220 correspond to one another and also to a gesturemodel, a connection may be established between computing devices 120 and220.

In various embodiments, to enable the gesture recognition processing,the logic flow may include (not shown) initiating a training phase forthe first and second computing devices 120, 220, receiving video dataand sensor data corresponding to motion of the first computing device120, and storing the video data and sensor data as a gesture model. Insome embodiments, to ensure that the sensor data and video datacorrespond, the logic flow may include comparing one or more time stampsthe video data and the sensor data to determine if the motion associatedwith the video data and the sensor data occurred at substantially a sametime.

While not shown in FIG. 6, in various embodiments the logic flow mayinclude detecting motion of the first computing device using one or moresensors of the first computing device, determining that the firstcomputing device is located within a field of view of one or more cameradevices of the second computing device, and initiating the receiving ofthe video data and the sensor data based on the detecting anddetermining. Other embodiments are described and claimed.

FIG. 7 illustrates an embodiment of an exemplary computing architecture700 suitable for implementing various embodiments as previouslydescribed. In one embodiment, the computing architecture 700 maycomprise or be implemented as part of computing device 120, computingdevice 220 and/or network computing device 260. The embodiments are notlimited in this respect.

As used in this application, the terms “system” and “component” areintended to refer to a computer-related entity, either hardware, acombination of hardware and software, software, or software inexecution, examples of which are provided by the exemplary computingarchitecture 700. For example, a component can be, but is not limited tobeing, a process running on a processor, a processor, a hard disk drive,multiple storage drives (of optical and/or magnetic storage medium), anobject, an executable, a thread of execution, a program, and/or acomputer. By way of illustration, both an application running on aserver and the server can be a component. One or more components canreside within a process and/or thread of execution, and a component canbe localized on one computer and/or distributed between two or morecomputers. Further, components may be communicatively coupled to eachother by various types of communications media to coordinate operations.The coordination may involve the uni-directional or bi-directionalexchange of information. For instance, the components may communicateinformation in the form of signals communicated over the communicationsmedia. The information can be implemented as signals allocated tovarious signal lines. In such allocations, each message is a signal.Further embodiments, however, may alternatively employ data messages.Such data messages may be sent across various connections. Exemplaryconnections include parallel interfaces, serial interfaces, and businterfaces.

The computing architecture 700 includes various common computingelements, such as one or more processors, multi-core processors,co-processors, memory units, chipsets, controllers, peripherals,interfaces, oscillators, timing devices, video cards, audio cards,multimedia input/output (I/O) components, power supplies, and so forth.The embodiments, however, are not limited to implementation by thecomputing architecture 700.

As shown in FIG. 7, the computing architecture 700 comprises aprocessing unit 704, a system memory 706 and a system bus 708. Theprocessing unit 704 can be any of various commercially availableprocessors, such as those described with reference to the processor 130shown in FIG. 1.

The system bus 708 provides an interface for system componentsincluding, but not limited to, the system memory 706 to the processingunit 704. The system bus 708 can be any of several types of busstructure that may further interconnect to a memory bus (with or withouta memory controller), a peripheral bus, and a local bus using any of avariety of commercially available bus architectures. Interface adaptersmay connect to the system bus 708 via a slot architecture. Example slotarchitectures may include without limitation Accelerated Graphics Port(AGP), Card Bus, (Extended) Industry Standard Architecture ((E)ISA),Micro Channel Architecture (MCA), NuBus, Peripheral ComponentInterconnect (Extended) (PCI(X)), PCI Express, Personal Computer MemoryCard International Association (PCMCIA), and the like.

The computing architecture 700 may comprise or implement variousarticles of manufacture. An article of manufacture may comprise acomputer-readable storage medium to store logic. Examples of acomputer-readable storage medium may include any tangible media capableof storing electronic data, including volatile memory or non-volatilememory, removable or non-removable memory, erasable or non-erasablememory, writeable or re-writeable memory, and so forth. Examples oflogic may include executable computer program instructions implementedusing any suitable type of code, such as source code, compiled code,interpreted code, executable code, static code, dynamic code,object-oriented code, visual code, and the like. Embodiments may also beat least partly implemented as instructions contained in or on anon-transitory computer-readable medium, which may be read and executedby one or more processors to enable performance of the operationsdescribed herein.

The system memory 706 may include various types of computer-readablestorage media in the form of one or more higher speed memory units, suchas read-only memory (ROM), random-access memory (RAM), dynamic RAM(DRAM), Double-Data-Rate DRAM (DDRAM), synchronous DRAM (SDRAM), staticRAM (SRAM), programmable ROM (PROM), erasable programmable ROM (EPROM),electrically erasable programmable ROM (EEPROM), flash memory, polymermemory such as ferroelectric polymer memory, ovonic memory, phase changeor ferroelectric memory, silicon-oxide-nitride-oxide-silicon (SONOS)memory, magnetic or optical cards, an array of devices such as RedundantArray of Independent Disks (RAID) drives, solid state memory devices(e.g., USB memory, solid state drives (SSD) and any other type ofstorage media suitable for storing information. In the illustratedembodiment shown in FIG. 7, the system memory 706 can includenon-volatile memory 710 and/or volatile memory 712. A basic input/outputsystem (BIOS) can be stored in the non-volatile memory 710.

The computer 702 may include various types of computer-readable storagemedia in the form of one or more lower speed memory units, including aninternal (or external) hard disk drive (HDD) 714, a magnetic floppy diskdrive (FDD) 716 to read from or write to a removable magnetic disk 718,and an optical disk drive 720 to read from or write to a removableoptical disk 722 (e.g., a CD-ROM or DVD). The HDD 714, FDD 716 andoptical disk drive 720 can be connected to the system bus 708 by a HDDinterface 724, an FDD interface 726 and an optical drive interface 728,respectively. The HDD interface 724 for external drive implementationscan include at least one or both of Universal Serial Bus (USB) and IEEE1394 interface technologies.

The drives and associated computer-readable media provide volatileand/or nonvolatile storage of data, data structures, computer-executableinstructions, and so forth. For example, a number of program modules canbe stored in the drives and memory units 710, 712, including anoperating system 730, one or more application programs 732, otherprogram modules 734, and program data 736. In one embodiment, the one ormore application programs 732, other program modules 734, and programdata 736 can include, for example, the various applications and/orcomponents of the system 100.

A user can enter commands and information into the computer 702 throughone or more wire/wireless input devices, for example, a keyboard 738 anda pointing device, such as a mouse 740. Other input devices may includemicrophones, infra-red (IR) remote controls, radio-frequency (RF) remotecontrols, game pads, stylus pens, card readers, dongles, finger printreaders, gloves, graphics tablets, joysticks, keyboards, retina readers,touch screens (e.g., capacitive, resistive, etc.), trackballs,trackpads, sensors, styluses, and the like. These and other inputdevices are often connected to the processing unit 704 through an inputdevice interface 742 that is coupled to the system bus 708, but can beconnected by other interfaces such as a parallel port, IEEE 1394 serialport, a game port, a USB port, an IR interface, and so forth.

A monitor 744 or other type of display device is also connected to thesystem bus 708 via an interface, such as a video adaptor 746. Themonitor 744 may be internal or external to the computer 702. In additionto the monitor 744, a computer typically includes other peripheraloutput devices, such as speakers, printers, and so forth.

The computer 702 may operate in a networked environment using logicalconnections via wire and/or wireless communications to one or moreremote computers, such as a remote computer 748. The remote computer 748can be a workstation, a server computer, a router, a personal computer,portable computer, microprocessor-based entertainment appliance, a peerdevice or other common network node, and typically includes many or allof the elements described relative to the computer 702, although, forpurposes of brevity, only a memory/storage device 750 is illustrated.The logical connections depicted include wire/wireless connectivity to alocal area network (LAN) 752 and/or larger networks, for example, a widearea network (WAN) 754. Such LAN and WAN networking environments arecommonplace in offices and companies, and facilitate enterprise-widecomputer networks, such as intranets, all of which may connect to aglobal communications network, for example, the Internet.

When used in a LAN networking environment, the computer 702 is connectedto the LAN 752 through a wire and/or wireless communication networkinterface or adaptor 756. The adaptor 756 can facilitate wire and/orwireless communications to the LAN 752, which may also include awireless access point disposed thereon for communicating with thewireless functionality of the adaptor 756.

When used in a WAN networking environment, the computer 702 can includea modem 758, or is connected to a communications server on the WAN 754,or has other means for establishing communications over the WAN 754,such as by way of the Internet. The modem 758, which can be internal orexternal and a wire and/or wireless device, connects to the system bus708 via the input device interface 742. In a networked environment,program modules depicted relative to the computer 702, or portionsthereof, can be stored in the remote memory/storage device 750. It willbe appreciated that the network connections shown are exemplary andother means of establishing a communications link between the computerscan be used.

The computer 702 is operable to communicate with wire and wirelessdevices or entities using the IEEE 802 family of standards, such aswireless devices operatively disposed in wireless communication (e.g.,IEEE 802.11 over-the-air modulation techniques). This includes at leastWiFi (or Wireless Fidelity), WiMax, and Bluetooth™ wirelesstechnologies, among others. Thus, the communication can be a predefinedstructure as with a conventional network or simply an ad hoccommunication between at least two devices. WiFi networks use radiotechnologies called IEEE 802.11x (a, b, g, n, etc.) to provide secure,reliable, fast wireless connectivity. A WiFi network can be used toconnect computers to each other, to the Internet, and to wire networks(which use IEEE 802.3-related media and functions).

The various elements of the touch gesture gesture recognition system 100as previously described with reference to FIGS. 1-7 may comprise varioushardware elements, software elements, or a combination of both. Examplesof hardware elements may include devices, logic devices, components,processors, microprocessors, circuits, processors, circuit elements(e.g., transistors, resistors, capacitors, inductors, and so forth),integrated circuits, application specific integrated circuits (ASIC),programmable logic devices (PLD), digital signal processors (DSP), fieldprogrammable gate array (FPGA), memory units, logic gates, registers,semiconductor device, chips, microchips, chip sets, and so forth.Examples of software elements may include software components, programs,applications, computer programs, application programs, system programs,software development programs, machine programs, operating systemsoftware, middleware, firmware, software modules, routines, subroutines,functions, methods, procedures, software interfaces, application programinterfaces (API), instruction sets, computing code, computer code, codesegments, computer code segments, words, values, symbols, or anycombination thereof. However, determining whether an embodiment isimplemented using hardware elements and/or software elements may vary inaccordance with any number of factors, such as desired computationalrate, power levels, heat tolerances, processing cycle budget, input datarates, output data rates, memory resources, data bus speeds and otherdesign or performance constraints, as desired for a givenimplementation.

The detailed disclosure now turns to providing examples that pertain tofurther embodiments; examples one through thirty (1-30) provided beloware intended to be exemplary and non-limiting.

In a first example, an article may comprise a non-transitorycomputer-readable storage medium containing instructions that ifexecuted by a processor enable a system to receive video datacorresponding to motion of a first computing device, receive sensor datacorresponding to motion of the first computing device, compare the videodata and the sensor data to one or more gesture models, and establish asecure wireless connection between the first computing device and asecond computing device if the video data and sensor data correspond toa gesture model.

In a second example of the article, the video data captured by one ormore camera devices of the second computing device and the sensor datacaptured by one or more sensors of the first computing device.

In a third example of the article, the one or more sensors of the firstcomputing device comprising one or more of an accelerometer or agyroscope and the camera device of the second computing devicecomprising one or more of a video camera or an infrared camera.

In a fourth example of the article, the first computing device locatedwithin a field of view of the one or more camera devices of the secondcomputing device.

In a fifth example, the article may comprise instructions that ifexecuted enable the system to compare one or more of time stamps of thevideo data and the sensor data to determine if the motion captured bythe one or more camera devices and the motion captured by the one ormore sensors occurred at substantially a same time or deviceidentification information for the first or second computing device toknown device identification information.

In a sixth example, the article may comprise instructions that ifexecuted enable the system to initiate a training phase for the firstand second computing device, receive video data and sensor datacorresponding to motion of the first computing device, and store thevideo data and sensor data as a gesture model.

In a seventh example of the article, the first and second computingdevices coupled to a same wireless local area network (WLAN).

In an eighth example of the article, the first computing devicecomprising one of a smartphone or a tablet computing device and thesecond computing device comprising one of a laptop computer, a desktopcomputer, a set-top box or a digital television.

In a ninth example of the article, the receiving and comparing performedat the second computing device.

In a tenth example of the article, the receiving and comparing performedat the first computing device.

In an eleventh example of the article, the receiving and comparingperformed at a third computing device wireless accessible by both thefirst and second computing device.

In a twelfth example, an apparatus may comprise a processor and gestureconnection logic for execution on the processor to receive video datacorresponding to motion of a mobile computing device captured by one ormore camera devices coupled to the apparatus, receive sensor datacorresponding to motion of the mobile computing device captured by oneor more sensors of the mobile computing device, compare the video dataand the sensor data to one or more gesture models and establish a securewireless connection between the apparatus and the first computing deviceif the video data and sensor data correspond to a gesture model.

In a thirteenth example, the apparatus may comprise one of a laptopcomputer, a desktop computer, a set-top box or a digital television andthe mobile computing device comprising one of a smartphone or a tabletcomputing device.

In a fourteenth example of the apparatus, the apparatus may comprise orinclude the one or more camera devices, the one or more camera devicescomprising one or more of a video camera or an infrared camera.

In a fifteenth example of the apparatus, the one or more sensors of themobile computing device may comprise one or more of an accelerometer ora gyroscope.

In a sixteenth example of the apparatus, the mobile computing device maybe located within a field of view of the one or more camera devices.

In a seventeenth example of the apparatus, the gesture connection logicmay be operative to compare one or more of time stamps of the video dataand the sensor data to determine if the motion captured by the one ormore camera devices and the motion captured by the one or more sensorsoccurred at substantially a same time or device identificationinformation for the mobile computing device to known deviceidentification information.

In a eighteenth example of the apparatus, the gesture connection logicmay be operative to initiate a training phase for the mobile computingdevice and the apparatus, receive video data and sensor datacorresponding to motion of the mobile computing device, and store thevideo data and sensor data as a gesture model.

In a nineteenth example, an apparatus may comprise a processor andgesture connection logic for execution on the processor to receive videodata corresponding to motion of the apparatus captured by one or morecamera devices of a computing device, receive sensor data correspondingto motion of the apparatus from one or more sensors of the apparatus,compare the video data and the sensor data to one or more gesturemodels, and establish a secure wireless connection between the apparatusand the computing device if the video data and sensor data correspond toa gesture model.

In a twentieth example of the apparatus, the apparatus may comprise oneof a smartphone or a tablet computing device and the computing devicemay comprise one of a laptop computer, a desktop computer, a set-top boxor a digital television.

In a twenty-first example of the apparatus, the apparatus may compriseor include the one or more sensors, the one or more sensors comprisingone or more of an accelerometer or a gyroscope.

In a twenty-second example of the apparatus, the one or more cameradevices of the computing device may comprise one or more of a videocamera or an infrared camera.

In a twenty-third example of the apparatus, the apparatus may be locatedwithin a field of view of the one or more camera devices of thecomputing device.

In a twenty-fourth example of the apparatus, the gesture connectionlogic may be operative to compare one or more of time stamps of thevideo data and the sensor data to determine if the motion captured bythe one or more camera devices and the motion captured by the one ormore sensors occurred at substantially a same time or deviceidentification information for the computing device to known deviceidentification information.

In a twenty-fifth example of the apparatus, the gesture connection logicmay be operative to initiate a training phase for the apparatus and thecomputing device, receive video data and sensor data corresponding tomotion of the apparatus, and store the video data and sensor data as agesture model.

In a twenty-sixth example, a computer-implemented method may comprisereceiving video data corresponding to motion of a first computingdevice, receiving sensor data corresponding to motion of the firstcomputing device, comparing, by a processor, the video data and thesensor data to one or more gesture models, and establishing a securewireless connection between the first computing device and a secondcomputing device if the video data and sensor data correspond to agesture model.

In a twenty-seventh example, the computer-implemented method maycomprise detecting motion of the first computing device using one ormore sensors of the first computing device, determining that the firstcomputing device is located within a field of view of one or more cameradevices of the second computing device, and initiating the receiving ofthe video data and the sensor data based on the detecting anddetermining.

In a twenty-eighth example, the computer-implemented method may comprisecomparing one or more time stamps the video data and the sensor data todetermine if the motion associated with the video data and the sensordata occurred at substantially a same time.

In a twenty-ninth example, the computer-implemented method may compriseinitiating a training phase for the first and second computing device,receiving video data and sensor data corresponding to motion of thefirst computing device, and storing the video data and sensor data as agesture model.

In a thirtieth example of the computer-implemented method, the firstcomputing device comprising one of a smartphone or a tablet computingdevice and the second computing device comprising one of a laptopcomputer, a desktop computer, a set-top box or a digital television, thesensors comprising one or more of an accelerometer or a gyroscope, andthe one or more camera devices comprising one or more of a video cameraor an infrared camera.

Some embodiments may be described using the expression “one embodiment”or “an embodiment” along with their derivatives. These terms mean that aparticular feature, structure, or characteristic described in connectionwith the embodiment is included in at least one embodiment. Theappearances of the phrase “in one embodiment” in various places in thespecification are not necessarily all referring to the same embodiment.Further, some embodiments may be described using the expression“coupled” and “connected” along with their derivatives. These terms arenot necessarily intended as synonyms for each other. For example, someembodiments may be described using the terms “connected” and/or“coupled” to indicate that two or more elements are in direct physicalor electrical contact with each other. The term “coupled,” however, mayalso mean that two or more elements are not in direct contact with eachother, but yet still co-operate or interact with each other.

It is emphasized that the Abstract of the Disclosure is provided toallow a reader to quickly ascertain the nature of the technicaldisclosure. It is submitted with the understanding that it will not beused to interpret or limit the scope or meaning of the claims. Inaddition, in the foregoing Detailed Description, it can be seen thatvarious features are grouped together in a single embodiment for thepurpose of streamlining the disclosure. This method of disclosure is notto be interpreted as reflecting an intention that the claimedembodiments require more features than are expressly recited in eachclaim. Rather, as the following claims reflect, inventive subject matterlies in less than all features of a single disclosed embodiment. Thusthe following claims are hereby incorporated into the DetailedDescription, with each claim standing on its own as a separateembodiment. In the appended claims, the terms “including” and “in which”are used as the plain-English equivalents of the respective terms“comprising” and “wherein,” respectively. Moreover, the terms “first,”“second,” “third,” and so forth, are used merely as labels, and are notintended to impose numerical requirements on their objects.

What has been described above includes examples of the disclosedarchitecture. It is, of course, not possible to describe everyconceivable combination of components and/or methodologies, but one ofordinary skill in the art may recognize that many further combinationsand permutations are possible. Accordingly, the novel architecture isintended to embrace all such alterations, modifications and variationsthat fall within the spirit and scope of the appended claims.

What is claimed is:
 1. An article comprising a non-transitorycomputer-readable storage medium containing instructions that whenexecuted by a processor enable a system to: receive video datacorresponding to motion of a first computing device, the video datacaptured by one or more camera devices of a second computing device;receive sensor data corresponding to motion of the first computingdevice, the sensor data captured by one or more sensors of the firstcomputing device; compare the video data and the sensor data to one ormore gesture models; determine whether the motion captured by the one ormore camera devices and the motion captured by the one or more sensorscorrespond to a same gesture based on the comparison of the video dataand the sensor data to one or more gesture models; compare time stampsof the video data and the sensor data; determine whether the motioncaptured by the one or more camera devices and the motion captured bythe one or more sensors occurred at substantially a same time; anddetermine whether to initiate establishment of a secure wirelessconnection between the first computing device and the second computingdevice based at least on a determination that the motion captured by theone or more camera devices and the motion captured by the one or moresensors correspond to a same gesture and a determination that the motioncaptured by the one or more camera devices and the motion captured bythe one or more sensors occurred at substantially a same time.
 2. Thearticle of claim 1, the one or more sensors of the first computingdevice comprising one or more of an accelerometer or a gyroscope and theone or more camera devices of the second computing device comprising oneor more of a video camera or an infrared camera.
 3. The article of claim1, the first computing device located within a field of view of the oneor more camera devices of the second computing device.
 4. The article ofclaim 1, comprising instructions that when executed enable the system tocompare device identification information for the first or secondcomputing device to known device identification information.
 5. Thearticle of claim 1, comprising instructions that when executed enablethe system to: initiate a training phase for the first and secondcomputing devices; receive video data and sensor data corresponding tomotion of the first computing device; and store the video data andsensor data as a plurality of gesture models.
 6. The article of claim 1,the first and second computing devices coupled to a same wireless localarea network (WLAN).
 7. The article of claim 1, the first computingdevice comprising one of a smartphone or a tablet computing device andthe second computing device comprising one of a laptop computer, adesktop computer, a set-top box or a digital television.
 8. The articleof claim 1, wherein the system comprises the second computing device. 9.The article of claim 1, wherein the system comprises the first computingdevice.
 10. The article of claim 1, wherein the system comprises a thirdcomputing device wirelessly accessible by both the first and secondcomputing device.
 11. An apparatus, comprising: one or more cameradevices; and logic, the logic at least partially including hardwarelogic, to receive video data corresponding to motion of a mobilecomputing device captured by the one or more camera devices, receivesensor data corresponding to motion of the mobile computing devicecaptured by one or more sensors of the mobile computing device, comparethe video data and the sensor data to one or more gesture models,determine whether the motion captured by the one or more camera devicesand the motion captured by the one or more sensors correspond to a samegesture based on the comparison of the video data and the sensor data toone or more gesture models, compare time stamps of the video data andthe sensor data, determine whether the motion captured by the one ormore camera devices and the motion captured by the one or more sensorsoccurred at substantially a same time, and determine whether to initiateestablishment of a secure wireless connection between the apparatus andthe mobile computing device based at least on a determination that themotion captured by the one or more camera devices and the motioncaptured by the one or more sensors correspond to a same gesture and adetermination that the motion captured by the one or more camera devicesand the motion captured by the one or more sensors occurred atsubstantially a same time.
 12. The apparatus of claim 11, the apparatuscomprising one of a laptop computer, a desktop computer, a set-top boxor a digital television and the mobile computing device comprising oneof a smartphone or a tablet computing device.
 13. The apparatus of claim11, comprising: the one or more camera devices comprising one or more ofa video camera or an infrared camera.
 14. The apparatus of claim 11, theone or more sensors of the mobile computing device comprising one ormore of an accelerometer or a gyroscope.
 15. The apparatus of claim 11,the mobile computing device located within a field of view of the one ormore camera devices.
 16. The apparatus of claim 11, the logic to comparedevice identification information for the mobile computing device toknown device identification information.
 17. The apparatus of claim 11,the logic to initiate a training phase for the mobile computing deviceand the apparatus, receive video data and sensor data corresponding tomotion of the mobile computing device, and store the video data andsensor data as a plurality of gesture models.
 18. An apparatus,comprising: one or more sensors; and logic, the logic at least partiallyincluding hardware logic, to receive video data corresponding to motionof the apparatus captured by one or more camera devices of a computingdevice, receive sensor data corresponding to motion of the apparatusfrom one or more sensors, compare the video data and the sensor data toone or more gesture models, determine whether the motion captured by theone or more camera devices and the motion captured by the one or moresensors correspond to a same gesture based on the comparison of thevideo data and the sensor data to one or more gesture models, comparetime stamps of the video data and the sensor data, determine whether themotion captured by the one or more camera devices and the motioncaptured by the one or more sensors occurred at substantially a sametime, and determine whether to initiate establishment of a securewireless connection between the apparatus and the computing device basedat least on a determination that the motion captured by the one or morecamera devices and the motion captured by the one or more sensorscorrespond to a same gesture and a determination that the motioncaptured by the one or more camera devices and the motion captured bythe one or more sensors occurred at substantially a same time.
 19. Theapparatus of claim 18, the apparatus comprising one of a smartphone or atablet computing device and the computing device comprising one of alaptop computer, a desktop computer, a set-top box or a digitaltelevision.
 20. The apparatus of claim 18, comprising: the one or moresensors, the one or more sensors comprising one or more of anaccelerometer or a gyroscope.
 21. The apparatus of claim 18, the one ormore camera devices of the computing device comprising one or more of avideo camera or an infrared camera.
 22. The apparatus of claim 18, theapparatus located within a field of view of the one or more cameradevices of the computing device.
 23. The apparatus of claim 18, thelogic to compare device identification information for the computingdevice to known device identification information.
 24. The apparatus ofclaim 18, the logic to initiate a training phase for the apparatus andthe computing device, receive video data and sensor data correspondingto motion of the apparatus, and store the video data and sensor data asa plurality of gesture models.
 25. A computer-implemented method,comprising: receiving video data associated with motion of a firstcomputing device, the video data captured by one or more camera devicesof a second computing device; receiving sensor data associated withmotion of the first computing device, the sensor data captured by one ormore sensors of the first computing device; comparing, by a processor,the video data and the sensor data to one or more gesture models;determining whether the motion associated with the video data and themotion associated with the sensor data correspond to a same gesturebased on the comparison of the video data and the sensor data to one ormore gesture models; comparing one or more time stamps the video dataand the sensor data; determining whether the motion associated with thevideo data and the motion associated with the sensor data occurred atsubstantially a same time; and determining whether to initiateestablishment of a wireless connection between the first computingdevice and the second computing device based at least on a determinationthat the motion associated with the video data and the motion associatedwith the sensor data correspond to a same gesture and a determinationthat the motion associated with the video data and the motion associatedwith the sensor data occurred at substantially a same time.
 26. Thecomputer-implemented method of claim 25, comprising: detecting motion ofthe first computing device using the one or more sensors of the firstcomputing device; determining that the first computing device is locatedwithin a field of view of the one or more camera devices of the secondcomputing device; and initiating the receiving of the video data and thesensor data based on the detecting and determining.
 27. Thecomputer-implemented method of claim 25, comprising: initiating atraining phase for the first and second computing device; receivingvideo data and sensor data corresponding to motion of the firstcomputing device; and storing the video data and sensor data as aplurality of gesture models.
 28. The computer-implemented method ofclaim 25, the first computing device comprising one of a smartphone or atablet computing device and the second computing device comprising oneof a laptop computer, a desktop computer, a set-top box or a digitaltelevision, the one or more sensors comprising one or more of anaccelerometer or a gyroscope, and the one or more camera devicescomprising one or more of a video camera or an infrared camera.